package top.tenebrous.yzl.chat.domain.system;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import top.tenebrous.yzl.chat.domain.BaseDomain;

import java.util.Date;

/**
 * @autor: tylong
 * @date: 2021/7/22 15:49
 * @company: CTS
 * @version: 1.0
 */

/**
 * 菜单表
 */
@ApiModel(value = "菜单实体")
@Data
@TableName(value = "sys_menu")
public class SysMenu extends BaseDomain {

    private static final long serialVersionUID = 1L;
    /**
     * SID
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "SID")
    private Long id;

    /**
     * 菜单名称
     */
    @TableField(value = "menu_name")
    @ApiModelProperty(value = "菜单名称")
    private String menuName;

    /**
     * 菜单别名
     */
    @TableField(value = "vue_name")
    @ApiModelProperty(value = "菜单别名")
    private String vueName;

    /**
     * 菜单级别,从1开始，最大6级
     */
    @TableField(value = "menu_level")
    @ApiModelProperty(value = "菜单级别,从1开始，最大6级")
    private Integer menuLevel;

    /**
     * 1-平台 2-商户
     */
    @TableField(value = "biz_type")
    @ApiModelProperty(value = "所属类型 1-平台 2-商户")
    private Integer bizType;

    /**
     * 菜单图标
     */
    @TableField(value = "menu_icon")
    @ApiModelProperty(value = "菜单图标")
    private String menuIcon;

    /**
     * 上一级菜单ID(1级菜单没有上一级)
     */
    @TableField(value = "parent_id")
    @ApiModelProperty(value = "上一级菜单ID(1级菜单没有上一级)")
    private Long parentId;


    /**
     * 上级菜单集合
     */
    @TableField(value = "parent_str")
    @ApiModelProperty(value = "上级菜单集合")
    private String parentStr;

    /**
     * 菜单链接(仅叶子菜单有链接)，菜单链接与权限标识不同时存在
     */
    @TableField(value = "menu_link")
    @ApiModelProperty(value = "菜单链接(仅叶子菜单有链接)，菜单链接与权限标识不同时存在")
    private String menuLink;

    /**
     * 权限标识，菜单链接与权限标识不同时存在
     */
    @TableField(value = "permit_mark")
    @ApiModelProperty(value = "权限标识，菜单链接与权限标识不同时存在")
    private String permitMark;

    /**
     * 菜单排序,从1开始，按升序排
     */
    @TableField(value = "menu_sort")
    @ApiModelProperty(value = "菜单排序,从1开始，按升序排")
    private Integer menuSort;

    /**
     * 是否叶子菜单，0-否，1-是
     */
    @TableField(value = "is_leaf")
    @ApiModelProperty(value = "是否叶子菜单，0-否，1-是")
    private Integer isLeaf;

    /**
     * 1-菜单 0-按钮
     */
    @TableField(value = "is_visible")
    @ApiModelProperty(value = "是否可见，1-菜单 0-按钮")
    private Integer isVisible;

    /**
     * 创建人ID，如果没有创建人，则标记为-1,代表系统
     */
    @TableField(value = "create_user")
    @ApiModelProperty(value = "创建人ID，如果没有创建人，则标记为-1,代表系统")
    private String createUser;

    /**
     * 创建时间，默认为系统时间
     */
    @TableField(value = "create_date")
    @ApiModelProperty(value = "创建时间，默认为系统时间")
    private Date createDate;

    /**
     * 修改人ID
     */
    @TableField(value = "update_user")
    @ApiModelProperty(value = "修改人ID")
    private String updateUser;

    /**
     * 修改时间
     */
    @TableField(value = "update_date")
    @ApiModelProperty(value = "修改时间")
    private Date updateDate;

    /**
     * 逻辑删除标记 0-正常，1-删除
     */
    @TableField(value = "is_deleted")
    @ApiModelProperty(value = "逻辑删除标记 0-正常，1-删除")
    private Integer isDeleted;
}